perm filename A.YEL[1,VDS] blob sn#169465 filedate 1975-07-16 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00009 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	TRANS	VISE3	      4.78     30.48      3.32     27.40     90.00    162.83
C00006 00003	DEFINE	UPBOX	
C00007 00004	DEFINE	ALTASK	
C00008 00005	DEFINE	PUTTOP	
C00009 00006	DEFINE	UPSCREW	
C00011 00007	0 0 -60
C00013 00008	DEFINE	DRIVEIN	
C00014 00009	DEFINE	DOWNDRIVER	
C00015 ENDMK
CāŠ—;
TRANS	VISE3	      4.78     30.48      3.32     27.40     90.00    162.83
TRANS	SCE	     17.46     30.95      5.11    178.30     89.89       .00
TRANS	VISE4	      5.42     30.03      3.36   -151.31     86.58    -17.20
TRANS	VISE5	      4.65     30.67      5.07   -135.46     89.95       .00
TRANS	VISE6	      4.75     30.68      4.41   -135.17     89.88       .00
TRANS	BAR	     11.49     38.43     10.61   -121.44     87.84     29.57
TRANS	GBOX1	      8.98     20.88      1.51    -90.00     90.00       .00
TRANS	VISE7	      5.41     30.10      3.47    133.06     88.66    -92.05
TRANS	GBOX2	      8.97     22.10       .80    -90.00     90.00       .00
TRANS	FOO	      5.00     32.14     10.54   -108.79     87.22     23.72
TRANS	VISE8	      5.41     30.06      3.00    121.78     88.78   -103.15
TRANS	GTOP	     13.86     22.40      1.50    -35.94     89.26    142.14
TRANS	H1	      7.09     30.09      8.60   -131.35     89.71       .00
TRANS	H2	      4.92     32.19      8.63    -98.08     89.78       .00
TRANS	H3	      3.19     30.46      8.62    145.25     89.09   -124.48
TRANS	H4	      5.36     28.39      8.64    -89.72     89.88       .00
TRANS	SCRW	     17.50     32.75      5.61   -156.04     90.00     26.18
TRANS	MIDAIR	     11.48     28.75      8.03   -149.05     87.04    -14.01
TRANS	SCT	     17.50     30.96      3.63    178.38     89.70       .00
TRANS	VISE1	      5.70     31.56      3.97   -135.94     89.95       .00
TRANS	DRIVER	     20.79     35.10      8.00    -90.00     90.00       .00
TRANS	VISE2	      5.88     31.01      4.83    178.17     90.00    -47.82


VECT    UP1	       .00       .00      1.00
VECT	UP2	       .00       .00      2.00
VECT	UP3	       .00       .00      3.00
VECT	UP4	       .00       .00      4.00
VECT    UP5            .00       .00      5.00
VECT	X	      1.00       .00       .00
VECT	ND	       .00       .00      3.00
VECT	Y	       .00      1.00       .00
VECT	Z	       .00       .00      1.00
VECT	UP6	       .00       .00      6.00
VECT	F	       .00       .00    -60.00
VECT	UP8	       .00       .00      8.00
VECT	UP6X	      -.75       .75      6.00
VECT	DXV	       .71      -.71       .00
VECT	SA	       .00     -1.00      3.00
VECT	MV	       .00       .00   -100.00
VECT	SD	      1.00      1.00       .50
VECT	FV	       .00       .00    -30.00
VECT	NIL	       .00       .00       .00
VECT	DFV	     15.00    -15.00       .00
DEFINE	UPBOX	
FLUSH
OPEN 2
MERGE
GOTO GBOX1 Z 4 NIL 0
L0: GO GBOX1
CENTER .3
SKIPE 2
JUMP L1
OPEN 2
MERGE
GO GBOX1 Z 4 NIL 0
WAIT THE BOX IS MISSING
JUMP L0
L1: ASSERT GBOX1
SAVE BOXC1
OPEN 1
DEPART UP4
OPEN 4
MERGE
CONO UP4 NIL 0 0 70
GOTO GBOX2
RESTORE BOXC1 0
CENTER 2.7
SAVE BOXC2
DEPART UP5

DEFINE	INVISE	
CONO UP3 NIL 19 0 0
MOVE VISE3 Z 3 NIL 0
VECT FV
0 0 -30
STOP FV NIL
CHANGE Z -4 NIL 0 60
SPIN 1 Z
STOP DFV NIL
CHANGE DXV 3 NIL 0 120
ASSERT VISE4
SAVE BOXC3
DEPART UP6
OPEN 4

DEFINE	ALTASK	
BEGIN ALTASK
UPBOX
INVISE
UPTOP
PUTTOP
UPDRIVER
SCREWS
DOWNDRIVER
FINUP
END

DEFINE	UPTOP	
FLUSH
CONO Z NIL 0 0 0
OPEN 4
MERGE
GOTO GTOP
L0: CENTER 2.7
SKIPE 2
JUMP L1
OPEN 4
MERGE
GO GTOP Z 4 NIL 0
WAIT THE TOP IS MISSING
GO GTOP
JUMP L0
L1: DEPART UP5

DEFINE	PUTTOP	
CONO UP4 NIL 8 0 0
GOTO VISE5
RESTORE BOXC3 0
OPEN 3.2
OPEN 4
MERGE
GO VISE6
CENTER 2.8
VCLOSE 3
OPEN 3.5
GO VISE7
SPIN 1 DXV
VECT FV
0 0 -60
STOP FV NIL
CHANGE Z -.75 NIL 0 0
ASSERT VISE8
SAVE BODY3C
GO VISE7
RESTORE BODY3C 0
CENTER 2.9
SAVE BODY3C
OPEN 4
DEPART UP4

DEFINE	UPDRIVER	
CONO NIL NIL 0 0 0
OPEN 3
MERGE
GOTO DRIVER
VECT FV
0 0 -150
FORCE FV NIL
VECT FV
0 0 -40
STOP FV NIL
SPIN 1 Z
FREE 1 X
CHANGE Z -4.5 NIL 0 90
CLOSE 1
DEPART UP4

DEFINE	UPSCREW	
FLUSH
CONO SA SD 13 0 0
MOVE SCRW                       ;AND GO THE THE DISPENSER
ASSIGN SCREW 4                  ;NUMBER OF TIMES TO TRY TO PICK UP SCREW
JUMP 2
CONO ND SD 13 0 0
L4: GO SCRW
PLACE
VECT F
0 20 -100
FREE 2 Y Z
FORCE F NIL
NNUL
SCREW -20
MERGE
DRIVE 1 0 30                    ;PUSH THE SCREWDRIVER AGAINST THE DISPENSER
                                ;AND DOWN ON THE SCREW AS IT ROTATES
VECT FV
0 0 -50
STOP FV NIL
VECT FV
0 0 -100
FORCE FV NIL
WOBBLE .2
CHANGE Z -.5 NIL 0 10           ;PUSH THE SCREWDRIVER INTO THE SCREW HEAD
FREE 2 X Y
CONO ND SD 13 0 0
CHANGE Z .20 NIL 0  60          ;LIFT THE SCREW UP OVER THE END STOP
NNUL
FREE 1 X
VECT F
0 -20 0
STOP F NIL
CONO ND SD 13  50  50
GO SCE                          ;AND TAKE IT OUT
SKIPN 23
JUMP L3                         ;NO EXCESSIVE FORCE SO PROCEED
ASSIGN PULL 3                   ;TIMES TO TRY PULLING OUT
L2: WOBBLE .5
VECT FV
0 0 100
STOP FV NIL
CHANGE Z 1 NIL 0 0
SKIPN 23
JUMP L5                         ;CAME OUT FINE
SOJG PULL L2                    ;TOO MUCH FORCE TRY AGAIN
JUMP L6                         ;DO IT BY HAND
L5: SOJG SCREW L4
JUMP L6
VECT F


0 0 -60
L3: STOP F NIL                  ;DRIVER CAME OUT CHECK IF IT HAS SCREW
CONO ND SD 13 0 0
GO SCT
SKIPE 23
JUMP L7                         ;ALL OK GO TO HOLE
NNUL
GOTO SCRW                       ;GO BACK TO BEGINNING
SOJG SCREW L4
L6: WAIT FREE THE SCREW DRIVER PUT A SCREW ON ITS END AND PROCEED
L7: DEPART UP1
JUMP 1

DEFINE	TOH	H HRC 
FLUSH
ASSIGN MISS 10
SEARCH .10 Z Y
CONO UP1 SD 13 0 0
MOVE H Z .4 NIL 0 0
JUMP L2
L1: CONO Z SD 13 0 0
GOTO H Z .4 NIL 0 0
RESTORE HRC 0
VECT FV
0 0 -30
L2: STOP FV NIL
NNUL
CONO NIL SD 13 60 60
GO H
RESTORE HRC 0
SKIPN 23
JUMP L3
AOJ 1
SOJG MISS L1
JUMP L4
L3: STOP FV NIL
FREE 2 X Y
CHANGE Z -.4 NIL 0 60
SKIPE 23
JUMP L5
AOJ 1
SOJG MISS L1
L4: WAIT PUT THE SCREW IN THE HOLE PROCEED
L5: JUMP 1

DEFINE	DRIVEIN	
VECT FV
0 0 -60
FORCE FV NIL
NNUL
VECT MV
0 0 -100
CHANGE Z 0 Z 30 30
STOP NIL MV
FORCE FV NIL
NNUL
CONO NIL SD 13 0 0
SCREW -50
MERGE
CHANGE Z -.5 NIL 0 150
SKIPE 23
JUMP 1

DEFINE	FREEDRIVER	
CONO NIL SD 13 0 0
FLUSH
VECT FV
0 0 150
STOP FV NIL
WOBBLE .2
CHANGE Z .5 NIL 0 30
SKIPE 23
WAIT FREE THE DRIVER AND PROCEED
DEPART UP2

DEFINE	ASCREW	H 
UPSCREW
TOH H BODY3C
DRIVEIN
FREEDRIVER

DEFINE	SCREWS	
ASCREW H1
ASCREW H3
ASCREW H2
ASCREW H4

DEFINE	DOWNDRIVER	
CONO NIL SD 13 0 60
GOTO DRIVER
VECT FV
0 0 -60
STOP FV NIL
SPIN 1 Z
CONO NIL SD 13 0 0
GO DRIVER Z -5 NIL 0
OPEN 3
DEPART UP3

DEFINE	FINUP	
CONO UP5 NIL 0 90 0
OPEN 4
MERGE
MOVE VISE4
CENTER 2.9
VOPEN 3
DEPART UP6X
CONO UP5 NIL 19 60 90
GOTO GBOX2 Z 1 NIL 0
PLACE
OPEN 4
DEPART UP3
GOTO MIDAIR